﻿#!/usr/bin/perl
use threads;
use LWP;

my $PAGE = "http://www.example.com/";

# Dziesięć równoległych wątków.
my $numThreads = 10;
my @threadHandles = ();
my @results = ();

for ($i = 0; $i < $numThreads; $i++ ) {
    # Utworzenie wątku i przekazanie mu liczby jako argumentu.
    my $thread = threads->create( doFetch, $i, $PAGE );
    push( @threadHandles, $thread );
}

# Uruchomienie wszystkich oczekujących wątków i zarejestrowanie ich wyników.
while( $#threadHandles > 0 ) {
    my $handle = pop(@threadHandles);
    my $result = $handle->join();
    push( @results, $result );
    print "wynik: $result\n";
}

sub doFetch {
    my $threadNum = shift;
    my $URL = shift;
    my $browser = LWP::UserAgent->new;
    my $response = $browser->get( $URL );
    return "wątek $i " . $response->status_line;
}
